﻿namespace WekaSharp

open weka

[<AutoOpen>]
module Common =
    let NYI() = failwith "Not yet implemented!"

    type Dataset = core.Instances

    type parameters = string

    type DatafileType =
        Arff | LibSVM | Csv | Svmlight

    type ClassifierType =
        J48 | LogReg | NeuralNet | KNN | NaiveBayes | SVM | LibLinear | LinReg | AdaBoost | Bagging

    type ClaEvalTask =
        | CrossValidation of int * Dataset * ClassifierType * parameters
        | RandomSplit of float * Dataset * ClassifierType * parameters
        | TrainTest of Dataset * Dataset * ClassifierType * parameters
    
    type ClustererType = 
        KMeans | EM | DBScan

    type CluEvalTask = 
        | ClusterWithLabel of Dataset * ClustererType * parameters
        | DefaultCluster of Dataset * ClustererType * parameters

    
